package com.hfjyz.registration.service;

import java.util.List;
import java.util.Map;

import org.springframework.validation.BindException;
import org.springframework.validation.Errors;

import com.hfjyz.registration.command.OrderAnalyzeCommand;
import com.hfjyz.registration.command.OrderInfoPayCommand;
import com.hfjyz.registration.command.OrderInfoPayResultCommand;
import com.hfjyz.registration.command.OrderInfoSearchCommand;
import com.hfjyz.registration.model.OrderInfo;
import com.hfjyz.registration.object.OrderAnalyzeInfoBean;

public interface OrderInfoService extends BaseService {
	public OrderInfo getOrderInfo(String orderId) throws Exception;

	public void searchOrderInfo(OrderInfoSearchCommand cmd, BindException errors)
			throws Exception;

	@SuppressWarnings("rawtypes")
	public Map initOrderPay(OrderInfoPayCommand cmd, Errors errors) throws Exception;

	@SuppressWarnings("rawtypes")
	public Map searchOrderPayResult(OrderInfoPayResultCommand cmd, Errors errors) throws Exception;

	public void payGoing(OrderInfoPayCommand cmd, BindException errors) throws Exception;

	void updateOrder(OrderInfo o, boolean updateOrderDate) throws Exception;

	public List<OrderAnalyzeInfoBean> getOrderAnalyzeInfo(
			OrderAnalyzeCommand cmd) throws Exception;

	public void searchOrderPayResultFromBank(OrderInfoPayCommand cmd,
			BindException errors) throws Exception;
}
